package com.cskaoyan.controller;

import com.cskaoyan.bean.bo.ConfigExpressBo;
import com.cskaoyan.bean.bo.ConfigMallBo;
import com.cskaoyan.bean.bo.ConfigOrderBo;
import com.cskaoyan.bean.bo.ConfigWxBo;
import com.cskaoyan.bean.common.BaseRespVo;
import com.cskaoyan.bean.vo.ConfigurationManagementVo;
import com.cskaoyan.service.ConfigurationService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * @Description:主界面配置管理的controller:ConfigurationController
 * @author: landz
 * @create: 2022-12-30 11:32
 * @version:
 */
@RestController
@RequestMapping("admin/config")
public class ConfigurationController {

    @Resource
    ConfigurationService configurationService;


    /**
     * @param @param null
     * @return
     * @Description: 配置管理中的商场配置接口回显实现方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 14:40
     */
    @RequestMapping("mall")
    public BaseRespVo mall() {
        ConfigurationManagementVo data = configurationService.mall();
        return BaseRespVo.ok(data);
    }

    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的商场配置接口修改数据方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 19:58
     */
    @PostMapping("mall")
    public BaseRespVo mall(@RequestBody ConfigMallBo configMallBo) {
        configurationService.updateMall(configMallBo);
        return BaseRespVo.ok();
    }

    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的运费配置接口回显实现方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 16:41
     */
    @RequestMapping("express")
    public BaseRespVo express() {
        ConfigurationManagementVo data = configurationService.express();
        return BaseRespVo.ok(data);
    }

    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的运费配置接口修改数据方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 19:58
     */

    @PostMapping("express")
    public BaseRespVo express(@RequestBody ConfigExpressBo configExpressBo) {
        configurationService.updateExpress(configExpressBo);
        return BaseRespVo.ok();
    }


    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的订单配置接口回显实现方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 16:56
     */
    @RequestMapping("order")
    public BaseRespVo order() {
        ConfigurationManagementVo data = configurationService.order();
        return BaseRespVo.ok(data);
    }

    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的订单配置接口修改数据方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 22:56
     */
    @PostMapping("order")
    public BaseRespVo order(@RequestBody ConfigOrderBo configOrderBo) {
        configurationService.updateOrder(configOrderBo);
        return BaseRespVo.ok();
    }

    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的小程序配置接口回显实现方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 17:05
     */
    @RequestMapping("wx")
    public BaseRespVo wx() {
        ConfigurationManagementVo data = configurationService.wx();
        return BaseRespVo.ok(data);
    }

    /**
     * @param * @param null
     * @return {@link null}
     * @Description: 配置管理中的小程序配置接口修改数据方法
     * @version v1.0
     * @author landz
     * @date 2022/12/30 23:31
     */
    @PostMapping("wx")
    public BaseRespVo wx(@RequestBody ConfigWxBo configWxBo) {
        configurationService.updateWx(configWxBo);
        return BaseRespVo.ok();
    }


}
